<!DOCTYPE html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js">
<!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Selectize.js Demo</title>
<meta name="description" content="">
<meta name="viewport"
	content="width=device-width,initial-scale=1,maximum-scale=1">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/stylesheet.css">
<!--[if IE 8]><script src="js/es5.js"></script><![endif]-->
<script src="js/jquery.js"></script>
<script src="../dist/js/standalone/selectize.js"></script>
<script src="js/index.js"></script>
<style type="text/css">
.selectize-control.repositories .selectize-dropdown>div {
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.selectize-control.repositories .selectize-dropdown .by {
	font-size: 11px;
	opacity: 0.8;
}

.selectize-control.repositories .selectize-dropdown .by::before {
	content: 'by ';
}

.selectize-control.repositories .selectize-dropdown .name {
	font-weight: bold;
	margin-right: 5px;
}

.selectize-control.repositories .selectize-dropdown .title {
	display: block;
}

.selectize-control.repositories .selectize-dropdown .description {
	font-size: 12px;
	display: block;
	color: #a0a0a0;
	white-space: nowrap;
	width: 100%;
	text-overflow: ellipsis;
	overflow: hidden;
}

.selectize-control.repositories .selectize-dropdown .meta {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 10px;
}

.selectize-control.repositories .selectize-dropdown .meta li {
	margin: 0;
	padding: 0;
	display: inline;
	margin-right: 10px;
}

.selectize-control.repositories .selectize-dropdown .meta li span {
	font-weight: bold;
}

.selectize-control.repositories::before {
	-moz-transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
	content: ' ';
	z-index: 2;
	position: absolute;
	display: block;
	top: 12px;
	right: 34px;
	width: 16px;
	height: 16px;
	background: url(images/spinner.gif);
	background-size: 16px 16px;
	opacity: 0;
}

.selectize-control.repositories.loading::before {
	opacity: 0.4;
}

.icon {
	width: 16px;
	height: 16px;
	display: inline-block;
	vertical-align: middle;
	background-size: 16px 16px;
	margin: 0 3px 0 0;
}

.icon.fork {
	background-image: url(images/repo-fork.png);
}

.icon.source {
	background-image: url(images/repo-source.png);
}
</style>
</head>
<body>
	<div id="wrapper">
		<h1>Selectize.js</h1>
		<div class="demo">
			<h2>Loading + Custom Scoring</h2>
			<p>This demo shows how to integrate third-party data and override
				the scoring method.</p>
			<div class="control-group">
				<label for="select-repo">Repository:</label> <select
					id="select-repo" placeholder="Pick a repository..."></select>
			</div>
			<script>
				// <select id="select-repo"></select>
				$('#select-repo').selectize({
					theme: 'repositories',
					valueField: 'url',
					labelField: 'name',
					searchField: 'name',
					options: [],
					create: false,
					render: {
						option: function(item, escape) {
							return '<div>' +
								'<span class="title">' +
									'<span class="name"><i class="icon ' + (item.fork ? 'fork' : 'source') + '"></i>' + escape(item.name) + '</span>' +
									'<span class="by">' + escape(item.username) + '</span>' +
								'</span>' +
								'<span class="description">' + escape(item.description) + '</span>' +
								'<ul class="meta">' +
									(item.language ? '<li class="language">' + escape(item.language) + '</li>' : '') +
									'<li class="watchers"><span>' + escape(item.watchers) + '</span> watchers</li>' +
									'<li class="forks"><span>' + escape(item.forks) + '</span> forks</li>' +
								'</ul>' +
							'</div>';
						}
					},
					score: function(search) {
						var score = this.getScoreFunction(search);
						return function(item) {
							return score(item) * (1 + Math.min(item.watchers / 100, 1));
						};
					},
					load: function(query, callback) {
						if (!query.length) return callback();
						$.ajax({
							url: 'https://api.github.com/legacy/repos/search/' + encodeURIComponent(query),
							type: 'GET',
							error: function() {
								callback();
							},
							success: function(res) {
								callback(res.repositories.slice(0, 10));
							}
						});
					}
				});
				</script>
		</div>
	</div>
</body>
</html>